package weiy.top.modules.category.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: pms_category
 * @Author: weihancheng
 * @Date: 2021-11-24
 * @Version: V1.0
 */
@Data
@TableName("pms_category")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "pms_category对象", description = "pms_category")
public class PmsCategory implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @Excel(name = "主键id", width = 15)
    @ApiModelProperty(value = "主键id")
    @TableId(type = IdType.AUTO)
    private java.lang.String catId;
    /**
     * 分类名称
     */
    @Excel(name = "分类名称", width = 15)
    @ApiModelProperty(value = "分类名称")
    private java.lang.String name;
    /**
     * 父分类id
     */
    @Excel(name = "父分类id", width = 15)
    @ApiModelProperty(value = "父分类id")
    private java.lang.String parentCid;
    /**
     * 层级
     */
    @Excel(name = "层级", width = 15)
    @ApiModelProperty(value = "层级")
    private java.lang.Integer catLevel;
    /**
     * 是否显示（这里使用逻辑删除），由于使用的是谷粒商城教程的数据表，这里的一些字段定义有点不规范（逻辑删除推荐使用mybatis-plus推荐的字段，主键推荐使用id）
     */
    @Excel(name = "是否显示", width = 15)
    @ApiModelProperty(value = "是否显示 [0-不显示 1-显示]")
    @TableLogic
    private java.lang.Integer showStatus;
    /**
     * 排序（这里的排序，系统的前端代码可以根据拖拽结果自动修改）
     */
    @Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
    private java.lang.Integer sort;
    /**
     * 图标
     */
    @Excel(name = "图标", width = 15)
    @ApiModelProperty(value = "图标")
    private java.lang.String icon;
    /**
     * 商品单位
     */
    @Excel(name = "商品单位", width = 15)
    @ApiModelProperty(value = "商品单位")
    private java.lang.String productUnit;
    /**
     * 商品数量
     */
    @Excel(name = "商品数量", width = 15)
    @ApiModelProperty(value = "商品数量")
    private java.lang.Integer productCount;
    /**
     * tree控件用到的属性 treeNode
     */
    @Excel(name = "", width = 15)
    @ApiModelProperty(value = "")
    @TableField(exist = false)
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    private List<PmsCategory> children;
    /**
     * tree控件用到的属性 分类名称（这里是name字段的拷贝）
     */
    @Excel(name = "分类名称", width = 15)
    @ApiModelProperty(value = "分类名称")
    @TableField(exist = false)
    private java.lang.String title;
    /**
     * tree控件用到的属性 主键id（这里是主键字段的拷贝）
     */
    @Excel(name = "主键id", width = 15)
    @ApiModelProperty(value = "主键id")
    @TableField(exist = false)
    private java.lang.String key;
    /**
     * tree控件用到的属性 层级（这里是catLevel字段的拷贝）
     */
    @Excel(name = "层级", width = 15)
    @ApiModelProperty(value = "层级")
    @TableField(exist = false)
    private java.lang.Integer level;

}
